package io.github.loserYa.log.handler;

/**
 * 日志分表逻辑处理类
 *
 * @author loser
 * @date 2024/4/25
 */
public interface ShardingHandler<T> {

    /**
     * 需要替换的逻辑表名
     */
    String table();

    /**
     * 用于分片的字段
     */
    String column();

    /**
     * 获取真实表
     *
     * @param logicalTable 逻辑表名称
     * @param value        分片字段
     * @return 物理表明
     */
    String getPhysicalTable(String logicalTable, T value);

}
